/********************************************
 * 功能说明: 
 * 模块名称: 
 * 系统名称: 
 * 软件版权: 
 * 系统版本: 1.0.0
 * 开发人员: zhangfb
 * 开发时间: 2019/3/31 22:44
 * 审核人员: 
 * 相关文档: 
 * 修改记录: 修改日期 修改人员 修改说明
 *********************************************/
package com.hyacinth.meta;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 表元数据类
 * @author zhangfb
 * @version 1.0.0.1
 * @since JDK 1.8
 */
@AllArgsConstructor
@NoArgsConstructor
@Data
public class TableMetaData {

    private String name;     // 表名称
    private String remark;   // 表备注
    private String relTabId; // 关联表id

    private List<ColumnMetaData> columns;          // 列
    private List<PrimaryKeyMetaData> primaryKeys;  // 主键
    private List<ForeignKeyMetaData> foreignKeys;  // 外键

    public TableMetaData(String tableName, String remark) {
        this.name = tableName;
        this.remark = remark;
    }

    public TableMetaData(String name, String remark,
                         List<ColumnMetaData> columns,
                         List<PrimaryKeyMetaData> primaryKeys,
                         List<ForeignKeyMetaData> foreignKeys) {
        this.name = name;
        this.remark = remark;
        this.columns = columns;
        this.primaryKeys = primaryKeys;
        this.foreignKeys = foreignKeys;
    }
}
